s = [i for i in input()]
t = [i for i in input()]
n = len(s)
m = len(t)
arr = [int(x) for x in input().split()]
def helper(mid):
temp = s.copy()
i,j = 0,0
for k in range(mid):
temp[arr[k]-1] = '0'
while(i<n or j< m):
if i== n or j== m:
break
if temp[i] == t[j]:
i += 1
j +=1
else:
i += 1
if j == m:
return True
return False
l,r= 0,n-1
ans = 0
while(l<= r):
mid = (l+r)//2
if helper(mid):
ans = max(ans, mid)
l = mid +1
else:
r = mid-1
print(ans)
129A - Cookies | 1367B - Even Array |
136A - Presents | 1450A - Avoid Trygub |
327A - Flipping Game | 411A - Password Check |
1520C - Not Adjacent Matrix | 1538B - Friends and Candies |
580A - Kefa and First Steps | 1038B - Non-Coprime Partition |
43A - Football | 50A - Domino piling |
479A - Expression | 1480A - Yet Another String Game |
1216C - White Sheet | 1648A - Weird Sum |
427A - Police Recruits | 535A - Tavas and Nafas |
581A - Vasya the Hipster | 1537B - Bad Boy |
1406B - Maximum Product | 507B - Amr and Pins |
379A - New Year Candles | 1154A - Restoring Three Numbers |
750A - New Year and Hurry | 705A - Hulk |
492B - Vanya and Lanterns | 1374C - Move Brackets |
1476A - K-divisible Sum | 1333A - Little Artem |